;; Block A is on the table, B is on A and C on B.  A red sprayer is on
;; the table.  A green paint can is on the sprayer and a blue paint
;; can on the green paint can and a water bucket on the blue can.  A
;; clean brush is on the water bucket.  The goal is to make A red, B
;; green and C blue and to have A on B, B on C and C on the table. The
;; brush should be clean and on top of the paint can with green paint.


(define (problem 5)
  (:domain hw6)
  (:objects blockA blockB blockC 
		canBlue canGreen 
		sprayerRed waterbucket 
		brush1 
		)
  
  (:init (arm-empty)
        (on-table blockA) 
		(on blockB blockA) 
		(on blockC blockB) (clear blockC) 
		(on-table sprayerRed)(color sprayerRed red) 
		(on canGreen sprayerRed) (paint canGreen green) 
		(on canBlue canGreen) (paint canBlue blue) 
		(on waterbucket canBlue)
		(on brush1 waterbucket ) (clean brush1) (clear brush1) (brush brush1)
	
	)
  
  (:goal (and (arm-empty)
              (color blockA red)
             	(color blockB green)
		(color blockC blue)
		(on-table blockC) 
		(on blockB blockC)
		(on blockA blockB)
		(on brush1 canGreen)
		(clean brush1)
              )))





